package cn.yunyichina.provider.iface.service;

import cn.yunyichina.provider.iface.entity.alipay.AddCouponRequest;
import cn.yunyichina.provider.iface.entity.alipay.AddCouponResponse;
import cn.yunyichina.provider.iface.entity.common.ResCommon;
import cn.yunyichina.provider.iface.entity.pay.*;

import java.util.List;

/**
 * 云医通支付服务子系统对外接口
 *
 * @author zhangkw
 * @date 2016-07-28
 */
public interface IPay extends IService {

    ResCommon<PaymentSettingAppRelationResponse> getPaymentId(PaymentSettingAppRelationVo paymentSettingVo);

    ResCommon<PaymentSettingResponse> getPayKey(PaymentSettingVo paymentSettingVo);

    ResCommon<PaymentSettingResponse> queryPaymentSettingByAppcodeAndOrgcodeAndPaymode(String platformOrgAppCode, String orgCode, short payMode);

    ResCommon<PaymentSettingResponse> queryPaymentSettingByAppId(String appId);

    ResCommon<List<TradeRecordResponse>> queryTradeRecord(TradeRecordRequest tradeRecordRequest);

    ResCommon<PaymentSettingResponse> getPaymentSettingById(String paymentSettingId);

    AddCouponResponse addCouponInstance(AddCouponRequest request);

    void updatePaymentJournalRefundFlagByOrderNo(String orderNo, short isRefundFlag);

    ResCommon addPaymentJournal(PaymentJournalVo paymentJournalVo);

    ResCommon<List<PaymentJournalResponseOut>> paymentJournalQuery(PaymentJournalVoOut paymentJournalVoOut);

}
